home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Tutorial Material / Zone Tutorial / Structure Examples / 5. Struct3a < prev    next >
Lisp/Scheme  |  1998-10-26  |  1KB  |  54 lines

  1. ;  Demo3A -  structure study (rhythm-led)
  2.  
  3. (setq tonal (activate-tonality (dorian c 4) (pentatonic b& 3)))
  4.  
  5. ; Nigel has been using tick value 96 for 1/4 note. 
  6. ; Because Nigel often mixes ticks and ratios, the function must take
  7. ; both cases into account.
  8.  
  9. (defun use-nigel-ticks (l)
  10.   (let (out)
  11.     (dolist (x l)
  12.       (if (is-length-symbol x)
  13.         (push x out)
  14.         (push (* x 5) out)))
  15.     (nreverse out)))
  16.  
  17. (setq rhy1 (use-nigel-ticks (gen-loop '((1 4 2) (5 6 4) (1 6 3))
  18.                                       '(24 24 24 24 48 48))))
  19. (setq rhy2 (use-nigel-ticks (gen-fibonacci 5 
  20.                                            '(24 24 48) 
  21.                                            '(96 24 24 48))))
  22.  
  23. (setq mel1 (fill-template rhy1 '(a b c d)))
  24. (setq mel2 (fill-template rhy2  '(a d b c)))
  25.  
  26. (setq zone1 (list (make-zone rhy1)))
  27. (setq zone2 (list (make-zone rhy2)))
  28.  
  29. (setq zones (append zone1 zone2 zone1))
  30. (setq rhys (append rhy1 rhy2 rhy1))
  31. (setq mels (append mel1 mel2 mel1))
  32.  
  33. (def-symbol
  34.    bass mels
  35. )
  36.  
  37. (def-length
  38.    bass rhys
  39. )
  40.  
  41. (def-zone
  42.    bass zones
  43. )
  44.  
  45. (def-tonality
  46.    bass tonal
  47. )
  48.  
  49. (compile-instrument-p "ccl;output:"  "struct3a"
  50.    bass
  51. )
  52.  
  53.  
  54.